package com.elai.baseconfig.service.impl;

import java.util.List;
import com.elai.common.utils.DateUtils;
import com.elai.baseconfig.domain.ApplicationAttributeDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.elai.baseconfig.mapper.BaseUserAttributesMapper;
import com.elai.baseconfig.domain.BaseUserAttributesDO;
import com.elai.baseconfig.service.BaseUserAttributesService;

/**
 * 用户属性Service业务层处理
 *
 * @author elai
 * @date 2021-06-06
 */
@Service
public class BaseUserAttributesServiceImpl implements BaseUserAttributesService
{
    @Autowired
    private BaseUserAttributesMapper baseUserAttributesMapper;

    /**
     * 查询用户属性
     *
     * @param id 用户属性ID
     * @return 用户属性
     */
    @Override
    public BaseUserAttributesDO selectBaseUserAttributesById(Long id)
    {
        return baseUserAttributesMapper.selectBaseUserAttributesById(id);
    }

    /**
     * 查询用户属性列表
     *
     * @param baseUserAttributes 用户属性
     * @return 用户属性
     */
    @Override
    public List<BaseUserAttributesDO> selectBaseUserAttributesList(BaseUserAttributesDO baseUserAttributes)
    {
        return baseUserAttributesMapper.selectBaseUserAttributesList(baseUserAttributes);
    }

    /**
     * 新增用户属性
     *
     * @param baseUserAttributes 用户属性
     * @return 结果
     */
    @Override
    public int insertBaseUserAttributes(BaseUserAttributesDO baseUserAttributes)
    {
        baseUserAttributes.setCreateTime(DateUtils.getNowDate());
    baseUserAttributes.setUpdateTime(DateUtils.getNowDate());
        return baseUserAttributesMapper.insertBaseUserAttributes(baseUserAttributes);
    }

    /**
     * 修改用户属性
     *
     * @param baseUserAttributes 用户属性
     * @return 结果
     */
    @Override
    public int updateBaseUserAttributes(BaseUserAttributesDO baseUserAttributes)
    {
        baseUserAttributes.setUpdateTime(DateUtils.getNowDate());
        return baseUserAttributesMapper.updateBaseUserAttributes(baseUserAttributes);
    }

    /**
     * 批量删除用户属性
     *
     * @param ids 需要删除的用户属性ID
     * @return 结果
     */
    @Override
    public int deleteBaseUserAttributesByIds(Long[] ids)
    {
        return baseUserAttributesMapper.deleteBaseUserAttributesByIds(ids);
    }

    /**
     * 删除用户属性信息
     *
     * @param id 用户属性ID
     * @return 结果
     */
    @Override
    public int deleteBaseUserAttributesById(Long id)
    {
        return baseUserAttributesMapper.deleteBaseUserAttributesById(id);
    }

    @Override
    public int deleteBaseUserAttributes(List<ApplicationAttributeDO> doList) {
        return baseUserAttributesMapper.deleteBaseUserAttributes(doList);
    }

    @Override
    public void deleteBaseUserAttributeByLesseeId(String lesseeId) {
        baseUserAttributesMapper.deleteBaseUserAttributeByLesseeId(lesseeId);
    }


}
